The invention relates web content management in general and has application to the preview of web content.
A web page comprises various items of content (i.e. data representing text, images, audio, etc for forming part of the web page) and an application (i.e. code that acts to arrange and coordinate the items of content). The application may be thought of as providing a framework into which the various items of content are fitted to form the complete web page, as viewed by a user.
Businesses have for many years been embracing the internet to expose their internal systems as a self-service offering to customers. This has provided an electronic customer information, sales and support channel that has become crucial to the commercial success of many enterprises. The ability to provide accurate, up-to-date information on a commercial internet site has taken on great significance in such enterprises.
Web content is constantly changing, necessitating the frequent introduction of new web pages or updates to existing web pages by changing the content to reflect new information or changing needs. This may be achieved by changing one or more of the data items inserted into the application framework in the run-time environment, normally under the control of a site supervisor (a user with special access rights whose job it is to maintain the website). Updating a large web page, particularly if it forms part of a large site with many pages, can be a complex task and, as a result; is prone to human error. It is important to verify that any changes have been correctly implemented and the desired effect achieved before releasing the new web pages to the general public. Some websites are provided with a preview environment to allow new or updated pages to be viewed privately by the site supervisor before transferring the pages to the run-time environment where live pages are accessible to the general public. The preview environment is, at best, a simulation of the run-time environment and is not guaranteed to give a true representation of how the web page will appear or function in the run-time environment.
Conventionally, web page preview functions are tied either to a content management system or, more recently, to a wiki site. In both cases, the preview features are restricted to a single page making it impossible to preview a set of related and complex changes together.
The structure of a commercial web site may be very complex and is key to delivering the sophisticated services that underpin modern e-commerce. In a complex, multi-page website, for which changes are managed via a content management system, users may need to follow a complex “journey” through various pages. For example, in the process of selecting and purchasing goods on a commercial web site, the user will navigate the item-viewing, selection, checkout and payment processes. This may involve being diverted to view and agree terms and conditions and, possibly, multiple security checks and requests for confirmation. Hence, a single user journey may involve the user in visiting multiple pages which need to exchange information and interact in a sophisticated way in order to provide the necessary user experience. Maintenance of such sites scan also be complex. In a further example, a product price may change (e.g. due to a special promotion). This simple-sounding change (in the sense that we are only changing a single parameter of a single object) may require a complex series of edits to the web site if, for example, the price is referred to multiple times in different locations on different web pages (e.g. in relation to “add to basket”, checkout, promotional side-bars, etc). It is therefore very desirable to be able to preview changes in-context and across the whole of a multi-page website.
US2003023632 describes a content management system in which a web page pattern comprising editable blocks is first selected and then one or more of the blocks edited. Once the editing of the pattern is compete, the edits are implemented in the web page code and the modified web page is presented to the user's browser. Changes are viewed before they are pushed to the live environment so the preview does not occur at run time.
Another popular form of web site is the wiki. Wikis tend to be simple, text-based applications with a fixed structure where additions or attachments can be included by multiple authors. In contrast to the sophisticated, commercial web site, the structure of a typical wiki is much simper and is not predefined or centrally controlled but evolves as users add pages as they see fit. With a wiki, changes are implemented and previewed individually.
In summary, preview in both content management systems and wikis, is not structural. Neither the content management system nor the wiki support preview of content changes across a multi-page structure but are restricted to previewing only the text of a single page.
There is therefore a need for a facility to allow a newly-created web page or the result of changes made to an existing web page to be viewed “at runtime” (i.e. in the run-time environment). For simplicity, we shall refer to both types of change as a new page. Viewing at runtime has the advantage of allowing the web page editor to see exactly how the web page will look to the end user, once released. Releasing modified pages in the run-time environment prior to thorough checking, however, could result in inaccurate information and incorrectly functioning web pages being exposed to the general public with consequent damage to the reputation of the organisation represented in the web site. There is therefore a need for a preview facility in the run-time environment that allows restricted access to new web pages while inhibiting general access to the new pages.
The invention provides a web page preview system; in which the system comprises a web host for providing both a first version and a second version of a set of web pages in a run-time environment; and an interface for receiving requests from users for access to the different versions of the set of web pages; in which the system is arranged in use to provide access to the first version of the set of web pages in the run-time environment to a general set of users; and in which the system is arranged in use to provide access to the second version of the set of web pages in the run-time environment to a restricted sub-set of users; so that the second version of the set of web pages may be previewed in the run-time environment by the restricted sub-set of users.
According to an aspect of the invention, access is provided to the first version of the set of web pages in the run-time environment to the general set of users in response to a first mode of request and access is provided to the second version of the set of web pages in the run-time environment to the restricted sub-set of users in response to a second mode of request.
According to a further aspect of the invention, the web host is arranged in use to replace the first version of the set of web pages with the second version of the set of web pages following preview by the restricted sub-set of users.
According to a further aspect of the invention, the first version of the set of web pages comprises an application and a first item of content; in which the second version of the set of web pages comprises the application and a second item of content. According to a further aspect of the invention, the second version of the set of web pages comprises the first items of content.
According to a further aspect of the invention, each of the first version of the set of web pages and the second version of the set of web pages comprises a single page. According to a further aspect of the invention, editing of the web pages is inhibited in the run-time environment.
The invention also provides a method of previewing a set of web pages; in which the method includes: providing in a run-time environment a first version of the set of web pages and a second version of the set of web pages; receiving one or more requests for access to the web pages; responding to the requests by providing in the run-time environment access to the first version of the set of web pages to a general set of users; and providing in the run-time environment access to the second version of the set of web pages to a restricted sub-set of users; so as to allow the restricted sub-set of users to preview the second version of the set of web pages in the run-time environment.
According to an aspect of the invention, the method includes providing to the restricted sub-set of users simultaneous access to both the first version and the second version of the set of web pages in the run-time environment.
According to a further aspect of the invention, the method includes releasing the previewed second version of the set of web pages to the general set of users by replacing the first version of the set of web pages with the second version of the set of web pages following preview by the restricted sub-set of users.
According to a further aspect of the invention, the method includes overwriting the first version of the set of web pages with the previewed second version of the set of web pages.
According to a further aspect of the invention, the web page requests comprise a first mode and a second mode: in which access to the first version of the set of web pages is provided in response to the first mode of web page request, access to the second version of the set of web pages is provided in response to the second mode of web page request; and in which the second mode of request is restricted to the restricted sub-set of users.
According to a further aspect of the invention, the method includes copying the first version of the set of web pages to an edit environment; modifying in the edit environment the first version of the set of web pages to produce the second version of the set of web pages; and transferring the second version of the set of web pages to the run-time environment with restricted access.
According to a further aspect of the invention, the first version of the set of web pages comprises an application and one or more first items of content; and the second version of the set of web pages comprises the application and one or more further items of content. According to a further aspect of the invention, each of the first version of the set of web pages and the second version of the set of web pages comprises a single page.
According to a further aspect of the invention, the second version of the set of web pages comprises a plurality of pages, in which the method includes providing in the run-time environment access to multiple pages of the second version of the set of web pages so as to allow the restricted sub-set of users to preview the second version of the set of web pages across the multiple pages.
Because the content may be valuable, the invention in a further embodiment inhibits writes, preventing changes to the content in the run-time environment and, consequently, only offering preview in the run-time environment. The invention allows the preview of an entire website or any section of a website, as required, whether or not it is has been updated. The invention supports changes of varying complexity.